"""
接综合案例1 再次我们练习下
把sql数据库里 销售数据 读取出来,做成特定的文件(json格式),保存到TXT文件里
"""
# 创建到mysql数据库链接
from pymysql import Connection  # 导包,使用 链接功能

# 获取到mysql数据库的链接对象

root用户_数据库 = Connection(
                        host="127.0.0.1",    # 主机名(或IP地址)  "localhost" 这里的主机名是代表 自己(本地主机) 的意思,或者 127.0.0.1
                        port=3306,           # 端口 默认是3306 (实际具体是看mysql数据库设置的连接端口)
                        user="root",         # 账户名
                        password="sxingang2023",  # 账户密码 (数据库密码要正确)
                        # autocommit=True      # 修改完数据,自动确认. 不用在单独写函数确认修改了
                      )

# 选择 库
root用户_数据库.select_db('综合案例_销售数据')

# 光标对象
光标对象 = root用户_数据库.cursor()

# 执行sql语句
sql语句 = "select * from 销售数据;"  # 要执行的sql语句

# 下面2行代码是一起的   通过对象执行语句 在通过对象赋值
光标对象.execute(sql语句)
查询数据 = 光标对象.fetchall()  # 取所有查询结果 赋值给变量

print(查询数据)
"""
通过打印输出,可以看到我们得到了,数据库 表里全部数据
限制完成格式重新编排(json格式),存储TXT文件里
"""

# 创建文件对象 追加模式
文件对象 = open("D:/销售数据总汇.txt", "a", encoding="utf-8")
# 文件对象.write()
# 字典 = {"订单日期": {元素[0]}, "订单ID": {元素[1]}, "订单金额": {元素[2]}, "订单省份": {元素[3]}}
for 元素 in 查询数据:
    字典 = {"订单日期": 元素[0], "订单ID": 元素[1], "订单金额": 元素[2], "订单省份": 元素[3]}  # 把数据做出字典
    文件对象.write(f'{str(字典)}\n')  # 强制转换从 字符串 写入TXT文件

# 刷新缓冲区 关闭文件对象
文件对象.flush()
文件对象.close()


# 关闭数据库
root用户_数据库.close()
